package com.neusoft.SPNursingHome.controller;

import com.neusoft.SPNursingHome.po.CareItem;
import com.neusoft.SPNursingHome.po.ClientCareItem;
import com.neusoft.SPNursingHome.po.ClientCareItemWithCareLevelAndCareItem;
import com.neusoft.SPNursingHome.po.ResponseBean;
import com.neusoft.SPNursingHome.service.ClientCareItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/ClientCareItemController")
public class ClientCareItemController {
    @Autowired
    private ClientCareItemService clientCareItemService;

    // 查看客户护理项目列表
    @GetMapping("/listClientCareItem")
    public ResponseBean<List<ClientCareItem>> listClientCareItem() {
        return clientCareItemService.listClientCareItem();
    }

    // 根据项目名称、项目编号模糊查询护理项目
    @GetMapping("/getClientCareItemByConditions")
    public ResponseBean<List<ClientCareItem>> getClientCareItemByConditions(String careItemCode, String careItemName) {
        return clientCareItemService.getClientCareItemByConditions(careItemCode, careItemName);
    }

    // 添加客户护理项目
    @PostMapping("/addClientCareItem")
    public ResponseBean<Integer> addClientCareItem(ClientCareItem clientCareItem) {
        return clientCareItemService.addClientCareItem(clientCareItem);
    }

    // 批量添加客户护理项目
    @PostMapping("/batchInsertClientCareItems")
    public ResponseBean<Integer> batchInsertClientCareItems(@RequestBody List<ClientCareItem> clientCareItems) {
        return clientCareItemService.batchInsertClientCareItems(clientCareItems);
    }

    // 修改客户护理项目（续费）
    @PostMapping("/updateClientCareItem")
    public ResponseBean<Integer> updateClientCareItem(@RequestBody ClientCareItem clientCareItem) {
        System.out.println(clientCareItem.getClientCareItemId());
        return clientCareItemService.updateClientCareItem(clientCareItem);
    }

    // 移除客户护理项目
    @PostMapping("/deleteCareItem")
    public ResponseBean<Integer> deleteCareItem(Integer clientCareItemId) {
        return clientCareItemService.deleteCareItem(clientCareItemId);
    }

    // 根据客户id查看客户护理项目列表
    @GetMapping("/getClientCareItemsByClientId")
    public ResponseBean<List<ClientCareItemWithCareLevelAndCareItem>> getClientCareItemsByClientId(Integer clientId) {
        return clientCareItemService.getClientCareItemsByClientId(clientId);
    }
}
